package mlz.c_constructor;

import java.lang.reflect.Constructor;

/*
    反射: 获取构造方法
 */
public class ConstructorDemo {
    public static void main(String[] args) throws NoSuchMethodException {
        //1.获取类的字节码对象
        Class<Person> p = Person.class;

        //2.获取类中的全部构造方法
        Constructor<?>[] con = p.getDeclaredConstructors();
        //遍历数组 获取全部的构造方法
        for(Constructor c : con){
            System.out.println(c.getName() +"参数个数:" + c.getParameterCount());
        }

        System.out.println("=========================");

        //3.获取private修饰的构造方法,指定参数类型
        Constructor<Person> c1 = p.getDeclaredConstructor(String.class, int.class);
        System.out.println(c1.getName() + "参数个数:" + c1.getParameterCount());





    }
}
